#include "EstrategiaIndice.h"

bool EstrategiaIndice::EsIndicePrimario()
{
	return secondaryKey==NULL;
}



bool EstrategiaIndice::IndiceSecundarioDeParametro(std::string parametroBuscado)
{
	if(secondaryKey)
		return secondaryKey->EsIndiceSecundarioQueIndexa(parametroBuscado);

	return false;
}



EstrategiaIndice::~EstrategiaIndice()
{
	//los recursos de las key las deve liberar el usuario
}



EstrategiaIndice::EstrategiaIndice(PrimaryKey *primaryKey) throw(IndexException)
{
	this->primaryKey=primaryKey;
	this->secondaryKey=NULL;
	this->indicePrimario=NULL;
}



EstrategiaIndice::EstrategiaIndice(PrimaryKey *primaryKey, SecondaryKey *secondaryKey, EstrategiaIndice *indicePrimario) throw(IndexException)
{
	this->primaryKey=primaryKey;
	this->secondaryKey=secondaryKey;
	this->indicePrimario=indicePrimario;
}

Key* EstrategiaIndice::GetKey()
{
	if(EsIndicePrimario())
		return primaryKey;
	return secondaryKey;
}

void EstrategiaIndice::Modificar(char* DatoSerializadoSinModificar, char* DatoSerializadoModificado,
							unsigned int tamDatoSinModificar, unsigned int tamDatoModificado){}

